package com.javaweb.util.core;

import java.util.regex.Pattern;

/**
 * 正则工具类
 * @author tank2140896
 */
public class PatternUtil {
	
	/**
	 * 正则匹配判断
	 * @param str 待正则匹配的字符串
	 * @param pattern 正则表达式
	 * @return boolean 是否匹配正则（true：匹配；false：不匹配）
	 */
	public static boolean isPattern(String str,Pattern pattern) {
		if(StringUtil.isEmpty(str)||(pattern==null)) {
			return false;
		}
		//Predicate<String> predicate = obj -> pattern.matcher(obj).matches();
		//return predicate.test(str);
		return pattern.matcher(str).matches();
	}
	
	/**
	 * 正则替换
	 * <p>
	 * 去除所有非数字：patternReplace("abc123cba",Pattern.compile("[^0-9]"),"")
	 * @param str 待正则替换的字符串
	 * @param pattern 正则表达式
	 * @param replacement 需要替换成的字符串
	 * @return String 替换后的字符串
	 */
	public static String patternReplace(String str,Pattern pattern,String replacement) {
		if(StringUtil.isEmpty(str)||(pattern==null)) {
			return str;
		}
		return pattern.matcher(str).replaceAll(replacement).strip();
	}

}
